<template>
  <view class="container">
      <uni-easyinput class="searchClass" placeholder="请输入关键字进行搜索" prefixIcon="search"
                     v-model="searchForm.fileName"></uni-easyinput>
    
      <view class="scrollbarTab" :class="searchForm.fileType != 33 ? '':'scrollbarTab1'">
          <view class="viewTabs" v-if="searchForm.fileType != 33">
              <view class="viewTab" :class="searchForm.profession === '' ? 'active' : ''" @click="handleTab('')">全部</view>
              <view class="viewTab" v-for="item in majorTypeList" :key="'tab' + item.value"
                    :class="searchForm.profession === item.value ? 'active' : ''"
                    :title="item.text && item.text.length > 4 ? item.text : ''" @click="handleTab(item.value)">
                  {{ item.text && item.text.length > 4 ? item.text.substring(0, 4) + '...' : item.text }}
              </view>
          </view>
        
          <image v-if="processList.length == 0" src="../static/images/empty.svg" class="empty_img"></image>
          <scroll-view scroll-y="true" v-else :scroll-top="scrollTop" @scrolltolower="scrolltolowerFn"
                       class="screen_list">
              <view class="screen" v-for="(item, index) in processList" :key="index">
                  <!--                        <image :src="'../static/images/fileIcon/' + getImage(item.fileFormat)"></image>-->
                  <view @click="handleFileInfo(item)" class="name-info">
                      <view class="name">{{ item.fileName }}</view>
                      <view class="info">
                          <view class="author">{{ item.author }}</view>
                          <view>{{ item.uploadTime }}</view>
                          <view class="version">{{ item.fileVersion }}</view>
                          <view class="versionStatus">{{ item.versionStatusName }}</view>
                          <!-- <text>47.5MB</text> -->
                          <!-- <view class="round" :class="item.status === '3' ? 'red' : item.status === '4' ? 'green' : 'orange'"></view> -->
                      </view>
                  </view>
                  <image class="type" mode="right" style="width: 94rpx; height: 124rpx; min-width: 94rpx" :src="knowImage1(item.fileType)"></image>
                  <!--                        <view>
                                  <uni-icons type="more-filled" size="20" @click="openMore(index)"></uni-icons>
                                  <view class="operation" ref="operation" v-if="index === operationIndex && current === 0">
                                      <u-button text="查看" size="small" @click="handleFileInfo(item)"></u-button>
                                  </view>
                              </view>-->
              </view>
              <view v-if="loadmore" class="loadMore">—已加载全部—</view>
          </scroll-view>
      </view>
    <!-- 文件上传弹框 -->
    <u-popup :show="show" @close="closePopup" :round="10" mode="bottom">
      <view class="upload_popup">
        <u-form :model="uploadForm" :rules="rules" ref="uploadForm" label-width="80px">
          <u-form-item label="专业类型" prop="profession">
            <uni-data-select v-model="uploadForm.profession" :localdata="majorTypeList"></uni-data-select>
          </u-form-item>
          <u-form-item label="文件类型" prop="fileType">
            <uni-data-select v-model="uploadForm.fileType" :localdata="fileTypeList"></uni-data-select>
          </u-form-item>
        </u-form>
        <view class="bottom">
          <u-button text="取消" @click="emptyFn"></u-button>
          <u-button type="primary" text="下一步" @click="sureFn"></u-button>
        </view>
      </view>
    </u-popup>
    <!-- 文件更新 -->
    <u-popup mode="bottom" :show="updateShow" :round="10">
      <view class="container-update">
        <!-- <u-form
				    :model="upDateForm"
				    :rules="upDateRules"
				    ref="upDateForm"
				    label-width="80px">
					<u-form-item label="专业类型" prop="profession">
						<uni-data-select
						    v-model="upDateForm.profession"
						    :localdata="majorTypeList"
						></uni-data-select>
					</u-form-item>
					<u-form-item label="文件类型" prop="fileType">
					    <uni-data-select
					        v-model="upDateForm.fileType"
					        :localdata="fileTypeList"
					    ></uni-data-select>
					</u-form-item>
					<u-form-item label="上传文件" prop="fileType">
					    <u-button @click="handleUpdateData" type="primary">上传</u-button>
					</u-form-item>
					<u-form-item label="文件名称" prop="fileName">
					    <uni-easyinput v-model="upDateForm.fileName" placeholder="请输入文件名称"></uni-easyinput>
					</u-form-item>
					<u-form-item label="作者姓名" prop="author">
					    <uni-easyinput v-model="upDateForm.author" placeholder="请输入作者姓名"></uni-easyinput>
					</u-form-item>
				</u-form> -->
        <view class="info_item">
          <view class="info_item_label">专业类型：</view>
          <view class="info_item_content">
            <!-- {{updateData.professionName}} -->
            <uni-data-select v-model="updateData.profession" :localdata="majorTypeList"></uni-data-select>
          </view>
        </view>
        <view class="info_item">
          <view class="info_item_label">文件类型：</view>
          <view class="info_item_content">
            <!-- {{updateData.fileTypeName}} -->
            <uni-data-select v-model="updateData.fileType" :localdata="fileTypeList"></uni-data-select>
          </view>
        </view>
        <view class="info_item">
          <view class="info_item_label">文件名称：</view>
          <view class="info_item_content">
            <!-- {{updateData.fileName}} -->
            <uni-easyinput v-model="updateData.fileName" placeholder="请输入文件名称"></uni-easyinput>
          </view>
        </view>
        <view class="info_item">
          <view class="info_item_label">作者姓名：</view>
          <view class="info_item_content">
            <!-- {{updateData.author}} -->
            <uni-easyinput v-model="updateData.author" placeholder="请输入作者姓名"></uni-easyinput>
          </view>
        </view>

        <view class="info_item">
          <view class="info_item_label">上传文件：</view>
          <view class="info_item_content">
            <u-button @click="handleUpdateData" type="primary">上传</u-button>
            <view>
              <text class="name">{{ updateProcessList.fileName }}</text>
              <text class="info">
                <text>{{ updateProcessList.uploadTime }}</text>
                <!-- <text>47.5MB</text> -->
              </text>
            </view>
          </view>
        </view>

        <view class="confrim-btn">
          <u-button text="取消" @click="updateShow = false"></u-button>
          <!-- <u-button @click="handleUpdateData" type="primary">上传</u-button> -->
          <u-button type="primary" @click="importFn">确定</u-button>
        </view>
      </view>
    </u-popup>
    <!--        输入对话框-->
    <uni-popup ref="inputDialog" type="dialog">
      <uni-popup-dialog ref="inputClose" mode="input" title="驳 回" value="" placeholder="请输入驳回意见" @confirm="dialogInputConfirm" @close="closeInputConfirm"></uni-popup-dialog>
    </uni-popup>
    <!--        视频更新-->
  </view>
</template>

<script>
import config from "@/config";
export default {
  data() {
    return {
      list: ["上传", "待审核", "待批准"],
        scrollTop: 0,
      show: false,
      current: 0,
      searchForm: {
        profession: "",
        fileType: "",
        fileName: "",
      },
      uploadForm: {
        profession: "",
        fileType: "",
      },
      rules: {
        profession: [
          {
            required: true,
            message: "请选择专业类型",
            trigger: "change",
            type: "any",
          },
        ],
        fileType: [
          {
            required: true,
            message: "请选择文件类型",
            trigger: "change",
            type: "any",
          },
        ],
      },
      upDateRules: {
        profession: [
          {
            required: true,
            message: "请选择专业类型",
            trigger: "change",
            type: "any",
          },
        ],
        fileType: [
          {
            required: true,
            message: "请选择文件类型",
            trigger: "change",
            type: "any",
          },
        ],
        fileName: [
          {
            required: true,
            message: "请输入文件名称",
            trigger: "blur",
            type: "any",
          },
        ],
        author: [
          {
            required: true,
            message: "请输入作者姓名",
            trigger: "blur",
            type: "any",
          },
        ],
      },
      fileTypeList: [],
      majorTypeList: [],
      operationIndex: -1,
      processList: [],
      pageNumber: 1,
      pageSize: 15,
      totalPage: 0,
      totalSize: 0,
      updateShow: false,
      updateData: {},
      token: "",
      upDateForm: {
        profession: "",
        fileType: "",
        fileName: "",
        author: "",
      },
      updateProcessList: {},
      rejectRow: {},
      rejectType: "",
      id: "",
      loadmore: false,
    };
  },
  onPullDownRefresh() {
    this.pageNumber = 1;
    this.pageSize = 15;
    this.totalPage = 0;
    this.totalSize = 0;
    this.getData();
    setTimeout(() => {
      this.loadmore = false;
      uni.stopPullDownRefresh();
    }, 1000);
  },
  /*onReachBottom() {
    console.log("bottom");
    if (this.pageNumber >= this.totalPage) {
      this.loadmore = true;
      return;
    }
    this.pageNumber = this.pageNumber + 1;
    if (this.pageNumber > this.totalPage) {
    } else {
      this.getData();
    }
  },*/
  onLoad(options) {
    this.searchForm.fileType = Number(options.fileType);
  },
  watch: {
    "searchForm.fileName": {
      handler(newVal, oldVal) {
        clearTimeout(this.timer);
        this.timer = setTimeout(() => {
          this.getData();
        }, 600);
      },
    },
  },
  computed: {
    knowImage1() {
      return (item) => {
        if (item == 31) {
          return require("../static/images/home/knowl1.svg");
        }
        if (item == "32") {
          return require("../static/images/home/knowl2.svg");
        }
        if (item == "33") {
          return require("../static/images/home/knowl3.svg");
        }
        if (item == "34") {
          return require("../static/images/home/knowl4.svg");
        }
        if (item == "38") {
          return require("../static/images/home/knowl5.svg");
        } else {
            return require("../static/images/home/knowl6.svg");
        }
      };
    },
  },
  mounted() {
    this.fileTypeListFn();
    this.majorTypeListFn();
    this.token = uni.getStorageSync("token");
    let that = this;
    uni.$on("returnData", function () {
      that.pageNumber = 1;
      that.totalPage = 0;
      that.totalSize = 0;
      that.getData();
    });
  },
  methods: {
    
      // scroll 触底操作
      scrolltolowerFn(e) {
          console.log("看看滚动条这个事件", e);
          if (this.pageNumber >= this.totalPage) {
              this.loadmore = true;
              return;
          }
          this.pageNumber = this.pageNumber + 1;
          if (this.pageNumber > this.totalPage) {
          } else {
              this.getData();
          }
      },
    sectionChange(index) {
      this.current = index;
      this.operationIndex = -1;
      this.pageNumber = 1;
      this.totalPage = 0;
      this.totalSize = 0;
      this.getData();
    },
    handleTab(value) {
      this.searchForm.profession = value;
      this.pageNumber = 1;
      this.totalPage = 0;
      this.totalSize = 0;
      this.getData();
    },
    openMore(index) {
      this.operationIndex = index;
      setTimeout(() => {
        this.operationIndex = -1;
      }, 3000);
    },
    getImage(type) {
      let src = "";
      switch (type) {
        case "xlsx":
        case "xls":
          src = "iconxlsxlsx.png";
          break;
        case "jpg":
        case "png":
          src = "iconjpgpnggif.png";
          break;
        case "docx":
        case "doc":
          src = "icondocdocx.png";
          break;
        case "mp4":
          src = "iconvideo.png";
          break;
        case "wps":
          src = "iconwps.png";
          break;
        case "ofd":
          src = "iconofd.png";
          break;
        case "ppt":
        case "pptx":
          src = "iconpptpptx.png";
          break;
        case "pdf":
          src = "iconpdf.png";
          break;
        case "txt":
          src = "iconTXT.png";
          break;
        case "zip":
          src = "iconrarzip.png";
          break;
        default:
          src = "iconbianzu.png";
      }
      return src;
    },
    //文件字典
    fileTypeListFn() {
      this.$request({
        url: "/dict/file/list",
        method: "get",
        params: {},
      }).then(({ data }) => {
        data.data.forEach((item) => {
          this.fileTypeList.push({
            value: item.id,
            text: item.name,
            dictType: item.dictType,
            dictCode: item.dictCode,
          });
        });
      });
    },
    //专业字典
    majorTypeListFn() {
      this.$request({
        url: "/dict/major/list",
        method: "GET",
        params: {},
      }).then(({ data }) => {
        data.data.forEach((item) => {
          this.majorTypeList.push({
            value: item.id,
            text: item.name,
            dictCode: item.dictCode,
          });
        });
        // this.searchForm.profession = this.searchForm.profession === "" && this.majorTypeList && this.majorTypeList.length > 0 ? this.majorTypeList[0].value : "";
        this.getData();
      });
    },
    getData() {
      let url = "";
      if (this.current === 0) {
        url = '/front/list'
      } else if (this.current === 1) {
        url = "/knowledgeFile/review/list";
      } else {
        url = "/knowledgeFile/approve/list";
      }
      this.$request({
        url: url,
        method: "GET",
        params: {
            ...this.searchForm,
            profession: this.searchForm.fileType == 33 ? '' : this.searchForm.profession,
            pageNumber: this.pageNumber,
            pageSize: this.pageSize,
            status:1
        },
      }).then(({ data }) => {
    
          this.scrollTop = 0;
        if (this.pageNumber === 1) {
          this.processList = [];
        }
        this.totalPage = data.totalPage;
        this.totalSize = data.totalSize;
        if (data.data) {
          this.processList = this.processList.concat(data.data);
        }
        /*this.$modal.loading('加载中···')
                setTimeout(()=> {
                    this.$modal.closeLoading()
                }, 1000)*/
      });
    },

    handle(submit, withdraw, row) {
      this.operationIndex = -1;
      let that = this;
      if (submit) {
        //提交
        uni.showModal({
          title: "提示",
          content: "确认提交该数据吗？",
          success: function (res) {
            if (res.confirm) {
              that
                .$request({
                  url: "/knowledgeFile/file/submit",
                  method: "post",
                  data: {
                    id: row.id,
                  },
                })
                .then(({ data }) => {
                  that.$modal.loading("提交成功！");
                  setTimeout(() => {
                    that.$modal.closeLoading();
                  }, 1000);
                  that.pageNumber = 1;
                  that.getData();
                });
            } else if (res.cancel) {
              console.log("用户点击取消");
            }
          },
        });
      } else if (withdraw) {
        //撤回
        uni.showModal({
          title: "提示",
          content: "确认撤回该数据吗？",
          success: function (res) {
            if (res.confirm) {
              that
                .$request({
                  url: "/knowledgeFile/file/withdraw",
                  method: "post",
                  data: {
                    id: row.id,
                  },
                })
                .then(({ data }) => {
                  that.$modal.loading("撤回成功！");
                  setTimeout(() => {
                    that.$modal.closeLoading();
                  }, 1000);
                  that.pageNumber = 1;
                  that.getData();
                });
            } else if (res.cancel) {
              console.log("用户点击取消");
            }
          },
        });
      }
    },
    handleDel(row) {
      let that = this;
      this.operationIndex = -1;
      uni.showModal({
        title: "提示",
        content: "确认删除该数据吗？",
        success: function (res) {
          if (res.confirm) {
            that
              .$request({
                url: "/knowledgeFile/file/delete",
                method: "post",
                data: {
                  id: row.id,
                },
              })
              .then(({ data }) => {
                that.$modal.loading("删除成功！");
                setTimeout(() => {
                  that.$modal.closeLoading();
                });
                that.pageNumber = 1;
                that.getData();
              });
          } else if (res.cancel) {
            console.log("用户点击取消");
          }
        },
      });
    },
    handleFileInfo(item) {
      // 预览前需要判断是否能预览
      this.$request({
        url: "/knowledgeData/getJson", //    this.QA ? '/file/getUrl' : '/knowledgeData/preview'
        method: "get",
        params: {
          id: item.id,
        },
      }).then(({ data }) => {
        if (!data.readAuthority) {
          this.$toast("当前文件未发布，不可预览");
          return;
        }
        console.log(item, "预览文件");
        if ([35, 38].includes(item.fileType)) {
          uni.navigateTo({
            url: `/pages/player?info=` + encodeURIComponent(JSON.stringify(item)),
          });
        } else {
          if (Number(this.searchForm.fileType) === 33) {
            uni.navigateTo({
              url: `/pages/tablePreview?info=` + encodeURIComponent(JSON.stringify(item)),
            });
          } else if (Number(this.searchForm.fileType) === 31) {
            uni.navigateTo({
              url: `/pages/page1Preview?info=` + encodeURIComponent(JSON.stringify(item)),
            });
          } else if (Number(this.searchForm.fileType) === 32) {
            uni.navigateTo({
              url: `/pages/page2Preview?info=` + encodeURIComponent(JSON.stringify(item)),
            });
          }
          // 指导书需要跳转的地方
          else if (Number(this.searchForm.fileType) === 34) {
            uni.navigateTo({
              url: `/pages/guideBookPreview?info=` + encodeURIComponent(JSON.stringify(item)),
            });
          }
        }
      });
    },
    handleEdit(item) {
      this.operationIndex = -1;
      console.log(item, "编辑");
      this.$tab.navigateTo(`/pages/fileManage/videoUpload?uploadForm=${encodeURIComponent(JSON.stringify(item))}`);
    },
    handlePass(row, type) {
      this.operationIndex = -1;
      let that = this;
      if (type === "examine") {
        that
          .$request({
            url: "/knowledgeFile/review/pass",
            method: "post",
            data: {
              id: row.id,
            },
          })
          .then(({ data }) => {
            that.$modal.loading("已审核通过！");
            setTimeout(() => {
              that.$modal.closeLoading();
            });
            that.pageNumber = 1;
            that.getData();
          });
      } else {
        that
          .$request({
            url: "/knowledgeFile/approve/pass",
            method: "post",
            data: {
              id: row.id,
            },
          })
          .then(({ data }) => {
            that.$modal.loading("已批准通过！");
            setTimeout(() => {
              that.$modal.closeLoading();
            });
            that.pageNumber = 1;
            that.getData();
          });
      }
    },
    handleReject(row, type) {
      console.log(row, type, "row, type");
      this.operationIndex = -1;
      this.rejectRow = row;
      this.rejectType = type;
      this.$refs.inputDialog.open();
    },
    closeInputConfirm() {
      this.$refs.inputDialog.close();
    },
    dialogInputConfirm(value) {
      let that = this;
      if (this.rejectType === "examine") {
        that
          .$request({
            url: "/knowledgeFile/review/turnDown",
            method: "post",
            data: {
              id: this.rejectRow.id,
              reason: value,
            },
          })
          .then(({ data }) => {
            that.$refs.inputDialog.close();
            that.$modal.loading("驳回成功！");
            setTimeout(() => {
              that.$modal.closeLoading();
            });
            that.pageNumber = 1;
            that.getData();
          });
      } else {
        that
          .$request({
            url: "/knowledgeFile/approve/turnDown",
            method: "post",
            data: {
              id: this.rejectRow.id,
              reason: value,
            },
          })
          .then(({ data }) => {
            that.$refs.inputDialog.close();
            that.$modal.loading("驳回成功！");
            setTimeout(() => {
              that.$modal.closeLoading();
            });
            that.pageNumber = 1;
            that.getData();
          });
      }
    },

    closePopup() {
      this.show = false;
    },
    emptyFn() {
      this.uploadForm.profession = "";
      this.emptyFn.fileType = "";
      this.show = false;
    },
    sureFn() {
      let that = this;
      that.$refs.uploadForm.validate().then((res) => {
        that.show = false;
        // that.uploadForm.fileType
        let tempArray = that.fileTypeList.filter((item) => item.value === that.uploadForm.fileType);
        console.log("查看该文件信息", tempArray);
        const path = tempArray[0].dictType === "E1" ? "videoUpload" : "fileUpload";
        uni.navigateTo({
          url: path + `?uploadForm=` + encodeURIComponent(JSON.stringify(that.uploadForm)),
        });
      });
    },
    handleUpdate(row) {
      if (row.fileType === 35) {
        this.operationIndex = -1;
        this.$tab.navigateTo(
          `/pages/fileManage/updateVideo?uploadForm=${encodeURIComponent(
            JSON.stringify({
              ...row,
              methods: "videoUpdate",
            })
          )}`
        );
        return true;
      }
      this.operationIndex = -1;
      this.id = row.id;
      this.updateData = row;
      this.updateShow = true;
    },
    handleUpdateData() {
      let that = this;
      uni.chooseFile({
        count: 1, //默认100
        extension: [".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", "pdf"],
        success: function (res) {
          res.tempFilePaths.forEach((item) => {
            uni.uploadFile({
              url: config.baseUrl + "/file/upload",
              header: {
                token: that.token,
              },
              filePath: item,
              name: "file",
              success: (uploadFileRes) => {
                let tempData = JSON.parse(uploadFileRes.data);
                that.updateProcessList = [];
                that.updateProcessList = {
                  ...that.updateData,
                  id: tempData.id,
                };
                // that.importFn(that.processList)
              },
              fail: (uploadFileError) => {
                // 处理上传失败的错误
              },
            });
          });
        },
      });
    },

    importFn() {
      this.$request({
        url: "/knowledgeFile/file/update",
        method: "post",
        data: {
          author: this.updateData.author,
          fileId: this.updateData.fileId,
          fileName: this.updateData.fileName,
          fileType: this.updateData.fileType,
          profession: this.updateData.profession,
          id: this.id,
        },
      }).then(({ data }) => {
        this.$modal.loading("更新成功！");
        setTimeout(() => {
          this.$modal.closeLoading();
        }, 1000);
        this.updateShow = false;
      });
    },
    handlePreview(item) {
      console.log(item, "进入详情页");
      if ([35].includes(item.fileType) && item.fileFormat !== "pdf") {
        // uni.navigateTo({
        //     url: `/pages/fileManage/updateVideo?uploadForm=` +  encodeURIComponent(JSON.stringify({
        //         ...item,
        //         methods: 'videoPlayer'
        //     }))
        // })
        this.$tab.navigateTo(`/pages/fileManage/videoUpload?uploadForm=${encodeURIComponent(JSON.stringify(item))}&detail=true`);
      } else if (item.fileType == 38) {
        uni.navigateTo({
          url: `/pages/player?info=` + encodeURIComponent(JSON.stringify(item)),
        });
      } else if (item.fileType == 32) {
        uni.navigateTo({
          url: `/pages/page2Preview?info=` + encodeURIComponent(JSON.stringify(item)),
        });
      } else {
        uni.navigateTo({
          url: `/pages/page1Preview?info=` + encodeURIComponent(JSON.stringify(item)),
        });
      }
    },
  },
};
</script>

<style lang="scss" scoped>
.container {
  background: #f5f7fb;
    overflow-y: hidden;
  ::v-deep .is-input-border {
    border-radius: 40rpx;
    border-color: #0084ff !important;
  }
  .searchClass {
      margin: 40rpx 20rpx 0;
      width: calc(100% - 40rpx);
  }
}
.search {
  width: 100%;
  display: flex;
  padding: 20rpx;
  display: flex;
  align-items: center;
  justify-content: space-between;

  .select {
    width: 40% !important;
  }

  .uni-stat__select {
    flex: none;
  }

  .reset {
    color: #02a7f0;
    margin-left: 30rpx;
  }
}
.uni-easyinput {
  padding: 0 20rpx;
}

  .scrollbarTab {
      height: calc(100vh - 190rpx);
      display: grid;
      grid-template-columns: 192rpx 1fr;
      //grid-column-gap: 20rpx;
      padding: 20rpx;
      border-radius: 16rpx;
    
      &.scrollbarTab1 {
          grid-template-columns: 1fr;
      }
    
      .viewTabs {
          font-size: 30rpx;
          line-height: 100rpx;
          font-weight: 500;
          font-family: Source Han Sans;
          background: #f4f6f9;
          text-indent: 40rpx;
          overflow-y: auto;
        
          .viewTab.active {
                color: #0084ff;
                background: #ffffff;
                &:hover {
                  color: #0084ff;
                  background: #ffffff;
                }
          }
    }
    .screen_list {
      // width: 100%;
      background: #fff;
        overflow-y: auto;
      .header {
        width: 100%;
        border-bottom: 1px solid #e3dfdf;
        padding: 20rpx 14rpx;
        border-left: 4px solid #0084ff;
        font-family: 思源黑体;
        font-size: 15px;
      }

      .screen {
        display: grid;
        /* height: 70px; */
        //border-bottom: 1px solid #E4E4E4;
        grid-template-columns: 1fr 94rpx;
        padding: 30rpx;
        line-height: 1;
        position: relative;
        &:after {
          content: "";
          height: 1px;
          background: #e4e4e4;
          position: absolute;
          left: 30rpx;
          bottom: 0;
          right: 30rpx;
        }

        .name {
          line-height: 1.5;
        }
        .name-info {
          width: 100%;
          display: flex;
          flex-direction: column;
          z-index: 99;

          .name {
            font-size: 30rpx;
            font-weight: 500;
            margin-bottom: 20rpx;
            font-family: 思源黑体;
            color: #1c2126;
          }

          .info {
            font-size: 24rpx;
            color: #4c5a67;
            font-family: 思源黑体;
            display: flex;
            flex-direction: row;
            align-items: center;

            .author {
              margin-right: 20rpx;
            }
            .version {
              margin: 0 0 0 48rpx;
            }
            .versionStatus {
              white-space: nowrap;
              margin-right: 20rpx;
            }
            .round {
              width: 20rpx;
              height: 20rpx;
              border-radius: 50%;
            }

            .orange {
              background: #f59a23;
            }

            .red {
              background: #d9001b;
            }

            .green {
              background: #95f204;
            }
          }
        }

        .operation {
          // height: 300rpx;
          width: 150rpx !important;
          // background: red;
          // border: 1px solid #8d8d8d;
          position: absolute;
          margin-right: 20rpx;
          right: -10rpx;
          z-index: 999999;
          background: white;
          margin-top: -10rpx;

          view {
            width: 100%;
            display: flex;
            justify-content: center;
            font-size: 28rpx;
            font-weight: 500;
            padding: 6rpx;
            text-align: center;
          }
        }
      }
    }
  }

.fileUpload {
  position: fixed;
  bottom: 110rpx;
  width: calc(100% - 40rpx);
  margin-left: 20rpx;
  z-index: 100;
  font-size: 32rpx;
  font-weight: bold;
}

.upload_popup {
  height: 700rpx;
  padding: 40rpx;

  // display: flex;
  // background: red;
  .upload_type {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100rpx;
    gap: 30rpx;
  }

  .uni-select {
    // width: 50%;
  }

  .bottom {
    width: 100%;
    display: flex;
    justify-content: space-between;
    position: absolute;
    bottom: 40rpx;
    left: 0;

    .u-button {
      width: 40%;
    }
  }
}
.container-update {
  padding: 20rpx 50rpx;
  height: max-content;
  .info_item {
    display: flex;
    // height: 60rpx;
    line-height: 60rpx;
    margin: 20rpx 0;
    .info_item_label {
      width: 160rpx;
    }
    .info_item_content {
      flex: 1;
    }
  }
  .confrim-btn {
    width: 100%;
    display: flex;
    justify-content: space-between;

    .u-button {
      width: 40%;
    }
  }
}
.loadMore {
  color: #b5b5b5;
  line-height: 2;
  font-size: 12px;
  text-align: center;
}
</style>
<style lang="scss">
textarea.uni-modal__textarea {
  font-size: 32rpx !important;
}
</style>
